export const getTableData = (page = 1, pageSize = 10, totalData = []) => {
    const { length } = totalData
    const tableData = {
        data: [],
        page,
        pageSize,
        length,
    }
    //pageSize大于等于总数据的长度，说明只有一页的数据或者没有数据
    if (pageSize >= length) {
        tableData.data = totalData
        tableData.page = 1
    }
    //假如pageSize小于总数据长度，则数据多余一页
    else {
        //计算除了当前页之外的数据总量
        const num = pageSize * (page - 1)
        //假如当前页之前的所有数据小于总的数据集长度，不能等于，这个时候则说明当前页码没有超过最大的页码
        if (num < length) {
            //当前页的第一条数据的索引
            let startIndex = num
            //当前页的最后一条数据的索引
            let endIndex = num + pageSize - 1
            tableData.data = totalData.filter((_, index) => index >= startIndex && index <= endIndex)
        }
        //当前页码超出最大的页码，则计算实际最后一页的page，自动返回最后一页的数据
        else {
            //取商
            let size = parseInt(length / pageSize)
            //取余数
            let rest = length % pageSize
            //假如余数大于0，说明最后一页数据不足pageSize，应该取size+1为最后一条的页码
            //余数大于0，说明实际最后一页的数据不足pageSize,最后一页应该size+1
            if (rest > 0) {
                tableData.page = size + 1
                tableData.data = tableData.data = totalData.filter((_, index) => index >= (pageSize * size) && index <= length)
            }
            //余数等于0，最后一页的数据条数正好是pageSize
            else if (rest === 0) {
                tableData.page = size
                tableData.data = totalData.filter((_, index) => index >= (pageSize * size - 1) && index <= length)
            }
        }
    }
    return tableData
}



